1. Field of the Invention
The present invention relates generally to a system and method for receiving and processing Global Positioning System (GPS) and wireless phone signals using a combination receiver, more particularly, receiving and processing GPS signals and wireless signals during alternate time segments by suspending reception of GPS signals during times when wireless signal is received. During the time period when a wireless signal is received, a local clock keeps track of the time interval in order to maintain correlation between the stored and received PRN code.
2. Prior Art
The GPS is a satellite-based system that can be used to locate positions anywhere on the earth. GPS provides continuous (24 hours/day), real-time, 3-dimensional positioning, navigation and timing worldwide. Any person with a GPS receiver can access the system, and it can be used for any application that requires location coordinates.
The nominal GPS Operational Constellation consists of 24 satellites that orbit the earth in 12 hours. The GPS User Segment, which consists of the GPS receivers and the user community, can receive and convert satellite signals into position, velocity, and time estimates. Four satellites are required to solve the four unknowns of X, Y, Z (position) and Time.
The system works on the concept of trilateration. Trilateration is a principle that allows one to find a particular point, when the distance to other locations is known. In two dimensions one must know the distance to other points which distance is the radius of a circle, which circles overlap at the unknown point. In three dimensions the principle also works, however a point is located by determining its location on the surface of a sphere rather than a circle as in the two dimensional example.
In order to locate a point on the surface of intersecting spheres, the GPS system must be able to determine the distance from a series of satellites, i.e. the radius of each sphere. A GPS receiver calculates its distance from each satellite using a technique called satellite ranging by measuring the distance between the GPS receiver and satellite. The range calculated by the receiver is actually estimated and known as a pseudorange and is measured by the elapsed transit time for a signal from the satellite to the receiver.
Measuring the distance between the satellite and receiver requires finding the time interval it takes for the satellite signal to travel to the receiver and multiplying the signal travel time by the speed of light to compute the distance. The travel time interval of the satellite signal is determined by finding the time that the signal left the satellite and the time that the signal reaches the receiver. Determining when the signal reaches the receiver is easily accomplished by referring to an internal clock in the receiver, however to accurately calculate the travel time interval, it is necessary for the receiver to also know when the signal left the satellite. The GPS receiver""s internal clock must be synchronized with the satellite""s clock to calculate the correct interval. Synchronizing each GPS receiver with the satellites so that they generate the same digital code at the same time does this. The code sequence is known as a pseudorandom noise (PRN). When a GPS receiver receives a code from a satellite, it compares the received code to its own emitted code. The offset of the two codes reveals the travel time interval, from which the distance can be calculated. However the times involved are quite short and therefore great accuracy is necessary. An error of only one thousandth of a second, at the speed of light, will result in a distance error of almost 200 miles. In order to eliminate the need for this near perfect timing, a GPS receiver, performs a measurement to four satellites. Any error introduced by an error in timing can then be overcome by calculating a single correction factor that it can be applied to all timing measurements to cause the four spheres to intersect at a single point. Typically, the signal from 4 satellites is required for a position fix to determine 3 coordinates (e.g. latitude, longitude and height, or X, Y and Z) and a fourth to determine the clock offset.
In order to determine the location of a user, a GPS receiver needs to determine the pseudorange from at least 4 satellites and must receive navigation data from each satellite, which is the location of each satellite which is periodically corrected and updated. The pseudorange is determined by receiving a signal from a satellite, demodulating the signal to determine the PRN code and then measuring the time shift of the transmitted PRN code to local PRN code of the receiver. The satellite locations are determined from the navigation data transmitted by each satellite within the transmitted data frames. The navigation data is typically received from the satellites by receiving and processing a complete set of twenty-five frames of a navigation message, although it could also be downloaded into a GPS receiver using a variety of means, such as from another GPS device or through the internet.
The GPS Navigation Message consists of time-tagged data bits marking the time of transmission of each subframe at the time they are transmitted by a satellite. As shown in FIG. 1, a data bit frame consists of 1500 bits 101 divided into five 300-bit subframes 102-106. A data frame is transmitted every thirty seconds. Three six-second subframes contain orbital and clock data. Corrections of the satellite clocks are sent in subframe one 102 with precise satellite orbital data sets (ephemeris data parameters) for the transmitting satellite sent in subframes two 103 and three 104. Subframes four 105 and five 106 are used to transmit different pages of system data. An entire set of twenty-five frames (125 subframes) makes up the complete Navigation Message that is sent over a 12.5 minute period. Data frames (1500 bits) are sent every thirty seconds. Each frame consists of five subframes. Data bit subframes (300 bits transmitted over six seconds) contain parity bits that allow for data checking and limited error correction. Each subframe includes a header having a telemetry word 107 and a handover word 108.
As shown in FIG. 2, each GPS satellite transmits two microwave carrier signals. The L1 frequency 201 (1575.42 MHz) and L2 frequency 205 (1227.60 MHz). Three binary codes 202-204 shift the L1 and/or L2 carrier phase.
The GPS receiver produces replicas of the C/A and/or P (Y)-Code. Each PRN code is a noise-like, but pre-determined, unique series of bits. The receiver produces the C/A code sequence for a specific satellite with some form of a C/A code generator. The receiver of the current invention can either store a complete set of precomputed C/A code chips in memory for each satellite, or a hardware shift register, implementation can also be used. In a shift register implementation the code chips are shifted in time by slewing the clock that controls the shift registers. In a memory lookup scheme the required code chips are retrieved from memory.
It is also necessary for making accurate timing calculations to know exactly where each satellite is in relation to the earth, therefore all GPS satellites occupy high orbits that are very predictable. The Department of Defense measures any variations in a satellite orbit. The satellite orbit information along with any orbit error information is sent to the satellites, which is then transmitted along with the timing signals to the receiver.
The GPS satellite signal includes GPS data bits where each data bit is modulated by a pseudorandom noise (PRN) code sequence that is distinct for each GPS satellite. The GPS data bits are twenty milliseconds long and have a time-of-transmission from the GPS satellite of a GPS-based clock time of 00 hours, 00 minutes, 00 seconds, and 000 milliseconds and each twenty milliseconds thereafter each day. The PRN code sequence is one millisecond long and includes 1023 chips. Each GPS data bit is modulated by twenty PRN code sequences. Three hundred GPS-data bits make up a subframe of six seconds length and five subframes make up a frame of thirty seconds length. The information needed by a GPS receiver for providing a GPS based time and geographical location fix is repeated in each frame.
Typically, when first turned on a GPS receiver may or may not know its own location and the approximate location of all the satellites as well as the local time. The GPS receiver will attempt to locate a satellite that it xe2x80x9cknowsxe2x80x9d should be in view. The receiver does this by generating a local PRN code that matches one or more of the in view satellites. When the local code is correlated to the code received from an in view satellite, then the receiver is able to determine a pseudorange and subsequently a geographic location fix upon receiving sufficient navigation data from one or more satellites. The time it takes to determine the location for the first time is known as the time to first fix. The TTFF can vary depending on how much the receiver xe2x80x9cknowsxe2x80x9d about its current location and satellites in view.
There is a continuous need for improving the performance of GPS receivers and a need for reducing the size, power consumption, and cost of the GPS receiver. In addition, the Federal Communications Commission has recently adopted rules for xe2x80x9cEnhanced 911xe2x80x9d that will require, starting in 2001, that cellular and wireless phone carriers must add to their networks the ability to report a 911 caller""s location within about 400 feet which will require that each portable phone be able to discern and report its current location in real time. Of course a way to implement this requirement is to integrate the capabilities of the existing global positioning receiver with a portable phone.
Cellular or wireless phones operate using a number of different standards which differ from the GPS receiver standard. Some of the more widely used standards include TDMA, GSM, and CDMA.
Time division multiple access (TDMA) is digital transmission technology that allows a number of users to access a single radio-frequency (RF) channel without interference by allocating unique time slots to each user within each channel. TDMA relies upon the fact that an audio signal can be digitized and divided into a number of milliseconds-long packets. TDMA is the access technique used in the European digital standard, GSM, and the Japanese digital standard, personal digital cellular (PDC).
A GSM phone operates with a combination of Time- and Frequency-Division Multiple Access (TDMA/FDMA). The FDMA part involves the division by frequency of the (maximum) 25 MHz bandwidth into 124 carrier frequencies spaced 200 kHz apart. Each of these carrier frequencies is then divided in time, using a TDMA scheme. The fundamental unit of time in this TDMA scheme is called a burst period and it lasts {fraction (15/26)} ms (or approx. 0.577 ms). Eight burst periods are grouped into a TDMA frame ({fraction (120/26)} ms, or approx. 4.615 ms), which forms the basic unit for the definition of logical channels.
Code-Division Multiple Access, is a digital cellular technology that uses spread-spectrum techniques. Unlike GSM, which uses time-division multiplexing (TDM), CDMA does not assign a specific frequency to each user. Instead, every channel uses the full available spectrum. Individual conversations are encoded with a pseudo-random digital sequence. CDMA uses a modulation technique known as spread spectrum.
Recently, GPS receivers and cellular telephones have been packaged together for reducing their combined cost and size by sharing some components. However, in existing systems where a GPS receiver and a cellular telephone coexist in the same package they share little functionality and little or nothing has been done to take advantage of the circuitry and functions of the cellular telephone for improving the performance and reducing the cost of the GPS receiver. In addition, by combining the two receivers into one package it becomes necessary to provide shielding to eliminate or minimize radiation interference from one receiver to the other since GPS and wireless operate on different frequencies. There is a thus a need for a GPS receiver and wireless telephone combination that can be combined into one device, without the need for shielding and with shared functionality.
The traditional approach to processing GPS signals involves receiving a GPS signal continuously to receive continuous time slots of timing and position data. During these continuous time slots, GPS information must be present for processing to take place. Thus there is also a need to integrate a GPS receiver and a wireless phone using shared circuitry such that the GPS signal does not have to be continuously received by taking advantage of either redundancy in the data transmissions such as in a spread spectrum wireless phone or to make use of the open time intervals in a time division system such as TDMA or GSM wireless phone.
Therefore it is an object of the present invention to provide a system and method for combining a wireless phone receiver and GPS receiver than can receive and process non-contiguous blocks of GPS data by alternately receiving and processing wireless phone and GPS signals.
Accordingly, a method and system processing signals from at least two sources, using a receiver having a timer and a local code sequence, the method comprising, providing at least one signal channel divided into a plurality of sequential time slots processing said signal from a first of said two sources in a first time slot of the plurality of time slots to provide a first time slot signal, processing said signal from a second of said two sources in a second time slot of the plurality of time slots to provide a second time slot signal, processing said signal from said first of said two sources in a third time slot of the plurality of time slots to provide a third time slot signal, said first, second and third time slots occurring in sequential order, comparing said local code sequence to said signals in said first and third time slots by incrementing the local code sequence during the interval between said first and third time slots.